package org.zachary.agent.domain.service;

import org.zachary.agent.domain.aggregate_model.token.AccessToken;
import org.zachary.agent.domain.aggregate_model.token.DeviceId;
import org.zachary.agent.domain.aggregate_model.token.RefreshToken;

import java.util.Map;

public interface TokenService {
    AccessToken generateAccessToken(String userId);
    RefreshToken generateRefreshToken(String userId, DeviceId deviceId);
    Map<String,Object> rotateRefreshToken(String refreshToken, String userId, DeviceId deviceId) throws Exception;
    boolean validateRefreshToken(String token) throws Exception;
}
